#!/usr/bin/python3

#pip3 install xlrd==1.2.0
import xlrd
import time
import sys

print(sys.getdefaultencoding())
print("Hello, World!")

#打开excel
wb = xlrd.open_workbook('language_entry_table.xlsx')

#按工作簿定位工作表
table = wb.sheet_by_name('index')

#print(table.nrows)#有效数据行数
#print(table.ncols)#有效数据列数
#print(table.cell(0,0).value)#输出第一行第一列的值
#print(table.row_values(0))#输出第一行的所有值
#将数据和标题组合成字典
#print(dict(zip(table.row_values(0),table.row_values(1))))

unicode_dict = { '4e2d': 0} 

def unicode_update(unicode):
    val = int(unicode_dict.get(unicode, 0))
    val = val + 1
    unicode_dict.update( {unicode : val } )



def upalgin(num):
    ret = (num/4)
    if (num%4) > 0 :
        ret = ret + 1
    return (4 * ret) + 4

def format_str_get(num):
    return "{: <"+str(int(upalgin(num)))+"}"

row_max_array = []
#计算每列的最大宽度
for col in range(0,table.ncols):
    col_array = []
    for row in range(1,table.nrows):
        col_array.append( len(str(table.cell(row,col).value)))
    row_max_array.append( max(col_array) )
    
print(row_max_array)


#输出.map文件
src_file = open("language_entry_table.map", "wb")

def src_file_out(string):
    src_file.write(bytes(string,'utf8'))

#预设的一些unicode
src_file_out("32-128,\n")
src_file_out("128-255,\n")
src_file_out("256-383,\n")
src_file_out("384-591,\n")


#只将中文字的unicode加入到字典中
for row in range(1,table.nrows):
    utf8_str = str(table.cell(row,2).value)
    unicode_str = utf8_str.encode('unicode-escape').decode()
    uni = unicode_str.split("\\u")
    for unicode in uni:
        unicode_update(unicode)
    
print( unicode_dict )

#输出u8g2格式的unicode
for unit in unicode_dict:
    if unit.strip() != '' :
        src_file_out( "$" + str(unit) + ",\n")
  
src_file.close()
